package com.pureut.system.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

/**
 * @Author: pureut
 * @Date: 2025-04-09 16:30:36
 * @Desc: 生产工单表
 */
@Data
@TableName("production_work_order")
public class ProductionWorkOrder implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 制令单编号（唯一）
     */
    private String orderNo;

    /**
     * 物料编码
     */
    private String materialCode;

    /**
     * 物料名称
     */
    private String materialName;

    /**
     * 规格型号
     */
    private String specification;

    /**
     * 单位
     */
    private String unit;

    /**
     * 需求量
     */
    private BigDecimal demandQuantity;

    /**
     * 预计齐套数量
     */
    private BigDecimal estimatedKitQuantity;

    /**
     * 预计开工时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date plannedStartTime;

    /**
     * 预计完工时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date plannedEndTime;

    /**
     * 状态（0-待开工，1-生产中，2-已完成）
     */
    private Integer status;

    /**
     * 创建人
     */
    private String creator;

    /**
     * 生产数量
     */
    private String productionQuantity;

    /**
     * 现有库存
     */
    private String stockOnHand;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /**
     * 更新人
     */
    private String updater;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;


}
